// 如果想在组件中使用store数据 需要导入mobx里的方法 并且要把component替换
import { ComponentWithStore } from 'mobx-miniprogram-bindings'
import { numStore } from '../../stores/numstore'
ComponentWithStore({
  // 用来配置此组件需要与哪些store进行关联
  storeBindings: {
    store: numStore,
    //  field和actions有两种写法 数组+对象
    //fields: ['numA', 'numB', 'sum'], //从store里引入哪些属性 会被注入到data里
    //actions: ['update'] //引入方法 会被注入到methods里
    fields: {
      // 内部依旧有两种写法
      // 1 映射
      // numA: 'numA',
      // numB: 'numB',
      // sum: 'sum'
      // 2 函数
      numA: () => numStore.numA,
      numB: () => numStore.numB,
      sum: () => numStore.sum
      // 3 映射可以自定义属性名 但是在代码中就只能使用自定义后的属性名
      // a: 'numA',
      // b: 'numB',
      // s: 'sum'
    },
    // action对象形式只有一种方法 就是映射
    actions: {
      update: 'update' //key也可以自定义
    }
  }
})
